package com.haitun.risk.govern.dao;

import java.util.List;

import com.haitun.risk.govern.model.AddressRestrict;
import com.haitun.risk.govern.model.CertificateRestrict;
import com.haitun.risk.govern.model.PhoneRestrict;
import com.haitun.risk.govern.model.ReceiveInfo;

/**
 * @Description: 收货人信息Dao
 * @author: rbkevin@qq.com 
 * @version: 2017年2月25日 上午10:59:53
 */
public interface ReceiveInfoDao {

	/**
	 * @Description: 根据ReceiveInfo实体信息查询
	 * @author: rbkevin@qq.com
	 * @param certificate
	 * @param address
	 * @return
	 * @version: 2017年2月25日 上午11:03:52
	 */
	List<ReceiveInfo> findByReceiveInfo(ReceiveInfo receiveInfo);
	
	/** @Description: 根据身份证维度更新额度 
	 * @author: dave
	 * @version: 2017年2月25日 下午12:10:07
	 * @param certificateRestrict 
	*/
	void updateAmountByCertificate(CertificateRestrict certificateRestrict);

	/** @Description: 根据手机号维度更新额度
	 * @author: dave
	 * @param phoneRestrict
	 * @version: 2017年2月25日 下午12:12:51
	*/
	void updateAmountByPhone(PhoneRestrict phoneRestrict);

	/** @Description: 根据地址维度更新额度
	 * @author: dave
	 * @param addressRestrict
	 * @version: 2017年2月25日 下午12:15:09
	*/
	void updateAmountByAddresss(AddressRestrict addressRestrict);
	
	/**
	 * @Description: 根据身份证和年份查询
	 * @author: rbkevin@qq.com
	 * @param certificateRestrict
	 * @return
	 * @version: 2017年2月27日 上午10:01:33
	 */
	CertificateRestrict getByCertificateAndYear(CertificateRestrict certificateRestrict);
	
	/**
	 * @Description: 根据手机号和年份查询
	 * @author: rbkevin@qq.com
	 * @param phoneRestrict
	 * @return
	 * @version: 2017年2月27日 上午10:45:57
	 */
	PhoneRestrict getByPhoneAndYear(PhoneRestrict phoneRestrict);
	
	/**
	 * @Description: 根据收货地址和年份查询
	 * @author: rbkevin@qq.com
	 * @param addressRestrict
	 * @return
	 * @version: 2017年2月27日 上午11:03:46
	 */
	AddressRestrict getByAddressAndYear(AddressRestrict addressRestrict);
}
